package com.wn.common.service

import androidx.lifecycle.LiveData
import com.alibaba.android.arouter.facade.template.IProvider
import com.wn.common.model.User

/**
 * @Author: wn
 * @Date: 2025/7/9 17:31
 * @Description: 用户信息服务相关接口
 * 用户信息 模块 通过 ARouter对 其他模块提供 其自身的方法让其他模块调用
 */
interface IUserService : IProvider {
  /**
   * 是否登录
   * @return Boolean
   */
  fun isLogin(): Boolean

  /**
   * 获取用户信息
   * @return User?
   */
  fun getUserInfo(): User?

  /**
   * 保存用户信息
   * @param user User?
   */
  fun saveUserInfo(user: User)

  /**
   * 清除用户信息
   */
  fun clearUserInfo()

  /**
   * 获取 User 信息 LiveData
   * @return LiveData<User?>
   */
  fun getUserLiveData(): LiveData<User?>

  /**
   * 保存用户手机号码
   * @param phone String?
   */
  fun saveUserPhone(phone: String?)

  /**
   * 获取用户手机号码
   * @return String?
   */
  fun getUserPhone(): String?
}